#include "bsp_config.h"
#include "sys.h"

void ccw_pio_init(void)
{
    for (int i = 0; i < sizeof(g_gpioList) / sizeof(gpio_node_t); i++){
        RCC_APB2PeriphClockCmd(g_gpioList[i].RCC_APB2Periph, ENABLE);
        GPIO_Init(g_gpioList[i].GPIOx, &g_gpioList[i].GPIO_InitStruct);
        GPIO_WriteBit(g_gpioList[i].GPIOx, g_gpioList[i].GPIO_InitStruct.GPIO_Pin, g_gpioList[i].default_value);
    }
}

void ccw_pio_deinit(void)
{
    for (int i = 0; i < sizeof(g_gpioList) / sizeof(gpio_node_t); i++){
        RCC_APB2PeriphClockCmd(g_gpioList[i].RCC_APB2Periph, DISABLE);
        GPIO_DeInit(g_gpioList[i].GPIOx);
        GPIO_WriteBit(g_gpioList[i].GPIOx, g_gpioList[i].GPIO_InitStruct.GPIO_Pin, g_gpioList[i].default_value);
    }
}
